Create Reward Store and Add Offer; then Update and Remove Offer

This use case describes how a client's development team might manage their reward stores. It presents a lifecycle of tasks that may be necessary to maintain an effective reward store, one that customers can use for offer-related transactions. While this exact sequence of events may not actually occur, it serves as a vehicle for describing some of the common tasks associated with maintaining a reward store.

Offers are items of value acquired by customers, something they can earn, be presented with, and redeem. Typically, offers reward customers for completing behaviors, or they are used as incentives to prompt new purchases and as a means of building brand loyalty. Once created, offers can be made available to customers via a reward store, which is an online, virtual location for browsing and buying rewards, or offers. Reward stores can be built to purvey an "exclusive" experience or to attract a highly specialized, targeted group of customers.

Developer Journey

One helpful way of understanding this use case is to consider how it reflects the developer's experience, or journey, in the "real world."

Developer accesses development environment to create reward store for offers defined by marketers

Client middleware creates reward store and adds offer to it

Developer wants to update reward store offer with new pricing

Client middleware retrieves reward store offer and edits it with pricing change

Developer wants to remove offer from reward store because it's obsolete

Client middleware retrieves reward store offer and removes it

Platform Configuration

Before implementing this use case, ensure the following have been configured:

Economy Rules

Economy rules and tiers configured in Economy Rules module or via API before creating reward store.

Points

Point accounts, and corresponding point sources, for customers to spend their point balance.

Offers

Offers configured in Offer Management module or via API.

Rewards Store

Reward store ID is known before updating reward store. Global or customer-specific reward store IDs can be retrieved.

Root offer ID is known before adding or editing offers in reward store.

Reward store offer ID is known before removing reward store offer.

Sequence Diagram

See the overall flow for this use case below.

DEVELOPER DEVELOPER CLIENT MIDDLEWARE CLIENT MIDDLEWARE SESSIONM SESSIONM CREATE REWARD STORE AND ADD OFFER 1 Access platform development environment 2 Create reward store 3 Return success message 4 Add reward store offer 5 Return success message UPDATE REWARD STORE OFFER 6 Determine reward store offer must be updated 7 Get reward stores 8 Return reward stores 9 Get reward store offers 10 Return reward store offers 11 Edit reward store offer 12 Return edited (updated) offer REMOVE REWARD STORE OFFER 13 Determine reward store offer must be removed 14 Get reward stores 15 Return reward stores 16 Get reward store offers 17 Return reward store offers 18 Remove reward store offer 19 Return list with ID of removed offer

Tasks

This use case diagram contains multiple tasks, each one depicted in its own color-coded section. For more information, see the overview below.

  1. Create Reward Store and Add Offer (Use Case Events #1 - #5)

    Two-step process for building reward store and adding existing offers to it.

  2. Update Reward Store Offer (Use Case Events #6 - #12)

    Approach for modifying reward store offer.

  3. Remove Reward Store Offer (Use Case Events #13 - #19)

    Easy way to remove offer from reward store.

Best Practices

When working with reward stores and the offers they contain, consider these best practices:

  • When updating an offer definition, remove the offer from the reward store and then add the new offer version to the reward store.
  • Be sure to associate the correct point account with a reward store when you have multiple point accounts available to customers.